

"""
装饰器 含义 场景
@allure.epic() 项目名称
@allure.feature  功能
@allure.story  子功能
@allture.title  测试用例的标题
@allture.description  测试用例描述
@allture.step  测试步骤
@allure.issue()  对应缺陷管理系统里面的链接 。
@allure.serverity() 用例等级,主要包括blocker ,critical ,normal ,minor ,trivial
@allure.link() 链接 定义一个链接 ，在测试报告中展现，比如项目链接
@allure.attach 附件 用于向测试报告中输入一些附加的信息，，通常是一些测试数据信息
"""


import allure
import pytest

from package_allure.login import login


# case1 : 输入正确的用户名和正确的密码进行登录
@allure.epic("禅道")
@allure.feature("登录")
@allure.title("输入正确的用户名和正确的密码进行登录")
@allure.issue("http://localhost:81")
def test_login_success():
    print("1")
    expect_result = 0
    actual_result = login('admin','123456').get('code')
    assert expect_result == actual_result

# case2 : 输入正确的用户名和错误的密码进行登录
@allure.epic("禅道")
@allure.feature("登录")
@allure.title("输入正确的用户名和错误的密码进行登录")
@allure.issue("http://localhost:81")
def test_password_is_wrong():
    print("2")
    expect_result = 1
    actual_result = login('admin', '1234567').get('code')
    assert expect_result == actual_result


# case3 : 输入用户名和空的密码进行登录
@allure.epic("禅道")
@allure.feature("登录")
@allure.title("输入用户名和空的密码进行登录")
@allure.issue("http://localhost:81")
def test_password_is_null():
    print("3")
    expect_result = 2
    actual_result = login('admin', '').get('code')
    assert expect_result == actual_result


if __name__ == '__main__':

    # 1. 生成测试报告所需要的数据
    pytest.main(['test01_pytest_allure.py','--alluredir','result'])